package com;

/**
 * 1、统计字符串"ABCD123!@#$%ab"大小写字母、数字及其他字符个数
 */
public class StringCount {
    public static void main(String[] args) {
        String str = "ABCD123!@#$%ab";
        int uppercase, lowercase, num, cnt;
        uppercase = lowercase = num = cnt = 0;
        for (int i = 0; i < str.length(); i++) {
            //获取字符串中每个字符
            char temp = str.charAt(i);
            //判断是否是小写字母
            if (Character.isLowerCase(temp)) {
                lowercase++;
                System.out.println("发现小写字母" + temp + ",目前已有小写字母" + lowercase + "个");
            }
            //判断是否是大写字母
            else if (Character.isUpperCase(temp)) {
                uppercase++;
                System.out.println("发现大写字母" + temp + ",目前已有大写字母" + uppercase + "个");
            }
            //判断是否是数字
            else if (Character.isDigit(temp)) {
                num++;
                System.out.println("发现数字" + temp + ",目前已有数字" + num + "个");
            }
            //判断是否是其他字符
            else {
                cnt++;
                System.out.println("发现其他字符" + temp + ",目前已有其他字符" + cnt + "个");
            }
        }
        System.out.println();
        System.out.println("ABCD123!@#$%ab中:");
        System.out.println("大写字母总共有：" + uppercase + "个");
        System.out.println("小写字母总共有：" + lowercase + "个");
        System.out.println("数字总共有：" + num + "个");
        System.out.println("其他字符总共有：" + cnt + "个");
    }
}
